Today, computers and computer applications are a critical tool in society. Although most computers come pre-configured with some computer applications, most users must install and configure additional computer applications on their computer to tailor their computer for their particular needs. Such computer application installation and configuration can be as easy as a one step activation of an installation program. However, more complex computer applications require a user to provide installation decisions and configuration decisions to complete installation of the computer application. Such installation decisions and configuration decisions are not always easy to make. Some installation decisions and configuration decisions require knowledge of an installation parameter and a configuration parameter, e.g., parameters of a user's computer hardware, operating system parameters, other computer programs installed on the user's computer, etc. Without a user making the proper installation decision and configuration decision, an installed computer application may not execute at all or may not execute in the manner desired by the user.
An example of a software application that requires user input during installation and configuration is the ZIMBRA™ Collaboration Suite. Before the Installation of ZIMBRA™ even begins, ZIMBRA™ specifies that the disk partition be set as follows: The Mount Point/RAID Volume size for the /boot partition should be 100 MB, the Swap partition should be set to twice the size of the RAM on your machine, and the Root partition (/) should be set with the remaining disk space size. Such pre-installation configuration of disk partition can be performed within an operating system (OS), e.g., RED HAT, setup.
Moreover, the ZIMBRA™ installation verifies that the correct prerequisite packages are installed, e.g., MYSQL, the FEDORA™, Core 4 operating system, etc. If the correct prerequisite packages are installed, the installation process installs the ZIMBRA™ Collaboration Suite on a server. Otherwise, the installation of the ZIMBRA™ Collaboration Suite process ends to allow the use to enter the correct prerequisite packages.
ZIMBRA™ requires a user to manually configure the hostname in the OS with the fully qualified hosthame of the ZIMBRA™ server, e.g., mailhost.example.com. A user must further configure the OS with the Network Gateway and Primary Domain Name Server (DNS) addresses. A user must further turn off their firewall, disable the Security Enhanced Linux (SELinux), and disable SENDMAIL in order to run the ZIMBRA™ Collaboration Suite.
The ZIMBRA™ Collaboration Suite runs on the FEDORA™, Core 4 operating system. When installing the FEDORA™ software for the ZIMBRA™ Collaboration Suite, a user is instructed to accept the default setup answers, except for the following steps: The Mount Point/RAID Volume size for the /boot partition should be 100 MB, the Swap partition should be set to twice the size of the RAM on your machine, and the Root partition (/) should be set with the remaining disk space size. The Hostname must be manually configured with the hostname name [mailhost.example.com] of the ZIMBRA™ server. A user must manually configure the Gateway and Primary DNS addresses in FEDORA™. A user must turn off their firewall and disable the Security Enhanced Linux (SELinux). A user must disable SENDMAIL in order to run FEDORA™.
The installation process checks to see if SENDMAIL, Postfix, and MYSQL software are running. If any of these software applications are running, a user is asked to disable them. Disabling MYSQL is optional but highly recommended. SENDMAIL and Postfix must be disabled for the ZIMBRA™ collaboration Suite to start correctly. Next, the installer checks to see that the prerequisite software is installed. If NPTL, sudo, libidn, cURL, fetchmail, GMP or compat-libstdc++− are not installed, the install process quits. Accordingly, a user must fix the problem and restart the installation.
Because of the complexity in installing desired software application, i.e., determining what prerequisite software applications are required for a desired software application and the amount of effort required downloading each prerequisite software application individually, Red Hat Packet Manager (“RPM”) packages were developed to simplify application installation. A RPM package can contain MYSQL™, the FEDORA™, Core 4 operating system, NPTL, sudo, libidn, cURL, fetchmail, GMP or compat-libstdc++−, etc. Thus, RPM packages greatly simplify the installation of a software application.
However, even using a RPM package to install their desired software application a user typically perform post-install tasks or configuration to ensure interpretability between the installed software and existing software. Post installation configuration can consist of similar tasks across many applications, such as starting and stopping services, editing configuration files, prompting a user for specific information to that user's environment, prompting a user for database username and password, creating new database users and access control, creating new databases and populating them with default data, as well as other tasks.
There are several different ways for performing these post installation configurations and each software application developer establishes their own way of performing them. As a result, the user can be required to take additional time to learn all the post-install configuration tasks for many software applications, which can become burdensome.
Accordingly, the embodiments of the present teachings solve these and other problems of the prior art associated with differing configurations for software applications